package com.me.iterator;

import java.util.Iterator;
import java.util.List;

/**
 * 输出实现
 */
public class OutPutImpl {

    //学院集合
    List<College> collegeList;

    public OutPutImpl(List<College> collegeList) {
        this.collegeList = collegeList;
    }

    /**
     * 遍历所有学院,然后调用printDepartment输出各个学院的系
     */
    public void printCollege() {
        //从collegeList取出所有学院,Java中的List已经实现Iterator
        Iterator<College> iterator = collegeList.iterator();
        while (iterator.hasNext()) {
            //取出一个学院
            College college = iterator.next();
            System.out.println("=====" + college.getName() + "=====");
            //得到对应迭代器
            printDepartment(college.createIterator());
        }
    }

    /**
     * 输出 学院输出 系
     *
     * @param iterator
     */
    public void printDepartment(Iterator iterator) {
        while (iterator.hasNext()) {
            Department department = (Department) iterator.next();
            System.out.println(department.getName());
        }
    }

}
